// ++++++++++++++++++++++++++++++++++++++++
// 《零基础Go语言算法实战》源码
// ++++++++++++++++++++++++++++++++++++++++
// Author:廖显东（ShirDon）
// Blog:https://www.shirdon.com/
// Gitee:https://gitee.com/shirdonl/goAlgorithms.git
// Buy link :https://item.jd.com/14101229.html
// ++++++++++++++++++++++++++++++++++++++++

package main

import "fmt"

// gcd 函数使用欧几里得算法递归计算两个整数的最大公约数
func gcd(a, b int) int {
	// 如果 b 为零，则 a 是最大公约数
	if b == 0 {
		return a
	}
	// 计算b的最大公约数和a除以b的余数
	return gcd(b, a%b)
}

func main() {
	//设置a和b的值
	a, b := 18, 66
	// 调用 gcd 函数并打印结果
	fmt.Printf("%d和%d的最大公约数为：%d\n", a, b, gcd(a, b))
}

//$ go run euclidean.go
//18和66的最大公约数为：6
